package com.hyfrogx.modules.sys.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hyfrogx.modules.sys.entity.SysUserRoleEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * TODO 用户角色对应表
 *
 * @author crazypenguin
 * @version 1.0.0
 * @createdate 2019/1/2
 */
@Mapper
public interface SysUserRoleDao extends BaseMapper<SysUserRoleEntity> {

	/**
	 * 根据用户ID，获取角色ID列表
	 */
	List<Long> queryRoleIdList(Long userId);


	/**
	 * 根据角色ID数组，批量删除
	 */
	int deleteBatch(Long[] roleIds);

  /**
   * 根据客户端uid查询用户角色
   * @param appUid
   * @return
   */
	@Select("SELECT\n" +
    "\tr.role_id \n" +
    "FROM\n" +
    "\tsys_user_role r\n" +
    "\tLEFT JOIN sys_user s ON s.user_id = r.user_id \n" +
    "WHERE\n" +
    "\ts.app_uid = #{appUid}")
  Integer selectByAppUid(@Param("appUid") Integer appUid);
}
